home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Monstr1a.cpp < prev    next >
C/C++ Source or Header  |  1999-01-29  |  3KB  |  103 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Monstr1a.h"
  6. //---------------------------------------------------------------------------
  7. #pragma resource "*.dfm"
  8.  
  9. class TMonster
  10. {
  11. private:
  12.   String Name;
  13.   String Wesen;
  14. public:
  15.   void Erscheinen(void);
  16.   String Typ (void) {return "Monster";};
  17.   TMonster (String N, String W);
  18. };
  19.  
  20. class TGMonster : public TMonster
  21. {
  22. public:
  23.   void Erscheinen(void);
  24.   String Typ (void) {return "GeistesMonster";};
  25.   TGMonster (String N, String W);
  26. };
  27.  
  28. class TSMonster : public TMonster
  29. {
  30. public:
  31.   void Erscheinen(void);
  32.   String Typ (void) {return "SeelenMonster";};
  33.   TSMonster (String N, String W);
  34. };
  35.  
  36. //---------------------------------------------------------------------------
  37.  
  38. TMonster  *Frank;   // Ganz der Vater?
  39. TGMonster *Albert;  // Etwa Einstein?
  40. TSMonster *Sigmund; // Doch nicht Freud?
  41. TForm1 *Form1;
  42.  
  43. //---------------------------------------------------------------------------
  44. __fastcall TForm1::TForm1(TComponent* Owner)
  45.     : TForm(Owner)
  46. {
  47. }
  48. //---------------------------------------------------------------------------
  49. TMonster::TMonster (String N, String W)
  50. {
  51.   Name = N; Wesen = W;
  52. }
  53. //---------------------------------------------------------------------------
  54. TGMonster::TGMonster (String N, String W) : TMonster (N, W)
  55. {
  56. }
  57. //---------------------------------------------------------------------------
  58. TSMonster::TSMonster (String N, String W) : TMonster (N, W)
  59. {
  60. }
  61. //---------------------------------------------------------------------------
  62. void TMonster::Erscheinen (void)
  63. {
  64.   Form1->Label1->Caption = "Name:    " + Name;
  65.   Form1->Label2->Caption = "Wesen:    " + Wesen;
  66.   Form1->Label3->Caption = "Typ:    " + Typ();
  67. }
  68. //---------------------------------------------------------------------------
  69. void TGMonster::Erscheinen (void)
  70. {
  71.   TMonster::Erscheinen ();
  72.   Form1->Label3->Caption = "Typ:    " + Typ();
  73. }
  74. //---------------------------------------------------------------------------
  75. void TSMonster::Erscheinen (void)
  76. {
  77.   TMonster::Erscheinen ();
  78.   Form1->Label3->Caption = "Typ:    " + Typ();
  79. }
  80. //---------------------------------------------------------------------------
  81. void __fastcall TForm1::FormCreate(TObject *Sender)
  82. {
  83.   Frank   = new TMonster  ("Frankie", "ungew÷hnlich");
  84.   Albert  = new TGMonster ("Berti", "nachdenklich");
  85.   Sigmund = new TSMonster ("Sigi", "mitfⁿhlend");
  86. }
  87. //---------------------------------------------------------------------------
  88. void __fastcall TForm1::Button1Click(TObject *Sender)
  89. {
  90.   Frank->Erscheinen ();
  91. }
  92. //---------------------------------------------------------------------------
  93. void __fastcall TForm1::Button2Click(TObject *Sender)
  94. {
  95.   Albert->Erscheinen ();
  96. }
  97. //---------------------------------------------------------------------------
  98. void __fastcall TForm1::Button3Click(TObject *Sender)
  99. {
  100.   Sigmund->Erscheinen ();
  101. }
  102. //---------------------------------------------------------------------------
  103.